package com.ruifu.common.po;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/** 对象权限规则授权表
 * @author lcq
 * @create 2019/12/3
 */
@Data
public class ObjectPermissionsAuthorization implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "permissions_authorization_id", type = IdType.AUTO)
    private Long permissionsAuthorizationId;

    /**
     * 对象类型id：rn1-项目 2-任务 3-文档 4-零部件 5-文件夹 51-公共知识库类型 55-产品图档库
     */
    private Integer objectTypeId;

    /**
     *授权对象id
     */
    private Long authorizationObject;

    /**
     * 授权规则字符串
     */
    private String objectCondition;

    /**
     * 说明描述
     */
    private String stringDescribe;

    /**
     * 权限码
     */
    private String objectPermissionsString;

    /**
     * 授权开始时间
     */
    private Date authorizationTime;

    /**
     * 授权截止时间
     */
    private Date deadline;

    /**
     * 规则状态：0-未启用 1-启用（默认）
     */
    private String ruleStatus;
    /**
     * 创建者id
     */
    @TableField(value = "creator", fill = FieldFill.INSERT)
    @ApiModelProperty("创建者id 自动填充")
    private Long creator;

    /**
     * 创建时间
     */
    @TableField(value = "creDate", fill = FieldFill.INSERT)
    @ApiModelProperty("创建时间 自动填充")
    private Date creDate;

    /**
     * 最后修改人id
     */
    @TableField(value = "lastUpdator", fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty("最后修改人id 自动填充")
    private Long lastUpdator;

    /**
     * 最后修改日期
     */
    @TableField(value = "lastUpdate", fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty("最后修改日期 自动填充")
    private Date lastUpdate;


    /**
     * 删除标记
     */
    @TableLogic
    @TableField(value = "delFlag", fill = FieldFill.INSERT)
    @ApiModelProperty("删除标记 自动填充")
    private Boolean delFlag;

    /**
     * 账套ID
     */
    @TableField(value = "setSid", fill = FieldFill.INSERT)
    @ApiModelProperty("账套ID 自动填充")
    private Long setSid;

}

